1. Field of the Invention
The present invention relates to a control device for controlling the motion of a movable part in a machine and, more particularly, to a control device capable of suppressing vibration generated in the movable part.
2. Description of the Related Art
Generally, a movable part in a machine, such as an industrial machine, a machine tool, a robot, or the like, is driven by a driving source through various transmission mechanisms, and the position and speed of the movable part are controlled as in a controlled system. In this connection, the mechanical components, such as the transmission mechanism, interposed between the driving source and the movable part have relatively low rigidity. Accordingly, in a case where the movable part is moved at high speed and stopped at a target position, the movable part tends to vibration easily.
As an example, an actuator for a robot arm will be examined. FIG. 21 shows, by way of example, the configuration of an actuator for a robot arm. In FIG. 21, the robot arm 1 is driven by an electric motor (hereinafter referred to as a motor) 3 through a reduction mechanism 2 comprised of a gear and the like. A control device (not shown) for controlling the motion of the robot arm 1 performs a feedback control of a position and speed by using the position and speed of the robot arm 1 detected by a position/speed detector 4 provided in the motor 3, so as to control the position and speed of the robot arm 1.
The reduction mechanism 2 generally has low rigidity. Therefore, a robot-arm driving system shown in FIG. 21 can be represented, by a two-inertia model shown in FIG. 22, as a block diagram from an electric current (or an input) for the motor 3 to the position and speed (or an output) of the robot arm 1. To simplify the examination, the effects of friction and viscosity are ignored here. In FIG. 22, “i” is a motor current, “Tq” is a motor torque, “ωM” is a motor speed, “θM” is a motor position, “ωL” is an arm speed, “θL” is an arm position, “JM” is a motor inertia, “JL” is an arm inertia, “Kt” is a motor-torque constant, “K” is a spring constant of a low-rigidity part, and “s” is a Laplace operator.
In the above robot-arm driving system, a semi-closed loop control, such as one shown in FIG. 23, is generally employed to control the position and speed of the robot arm 1. In other words, the motor speed ωM and motor position θM detected by the position/speed detector 4 are fed back, so as to perform a loop control for position and speed. More specifically, as shown in FIG. 23, a position deviation is obtained by subtracting the fed-back motor position θM from a position command θR, and a speed command is obtained by performing a position loop operation using a position control gain KP (function). Further, a speed deviation is obtained by subtracting the fed-back motor position θM from the obtained speed command, and an electric-current command “i” is obtained by performing a speed loop operation using a speed control gain Kv (function). Then, the motor 3 is driven by the current command “i”.
As the above-described semi-closed loop control is position and speed feedback control for the motor 3, the position and speed of the motor 3 can be well controlled. However, as described, there arises the problem that the robot arm 1 tends to vibrate because of the interposition of a transmission mechanism such as the low-rigidity reduction mechanism 2.
To address this problem, in the field of a machine tool or the like, a fully-closed loop control, such as one shown in FIG. 24, is generally employed. In this system the movable part of the machine, such as the robot arm 1, is equipped with a detector for detecting its position and/or speed and the position and/or speed of the movable part are fed back for control. The block diagram shown in FIG. 24 differs from the block diagram of FIG. 23 in a point that, instead of the motor position θM and the motor speed ωM, the arm position θL and the arm speed ωL are fed back for control. When this fully-closed loop control is employed, it is required that the movable part of the machine, such as the robot arm 1, is equipped with a detector for detecting the position and speed of the movable part.
On the other hand, Japanese Unexamined Patent Publication (Kokai) No. 6-178570 (JP-A-06-178570), for example, discloses a control device based on a semi-closed loop control and including a function for suppressing the vibration of a machine driving system. In this control device, in order to suppress the vibration of the machine, a speed detector and an acceleration detector are provided for the machine to feed back the detected values of the speed and acceleration (i.e., the state variables) of the machine, in addition to the semi-closed loop control, so as to correct a torque command for the motor.
Thus, in a case where a detector is mounted on the movable part of the machine, it is necessary to provide a number of supplementary units, such as a cable and a signal receiving circuit, in order to acquire feedback signals from the detectors, and this may lead to an increase in the overall cost of the system. There is also concern that the maintenance cost of each individual unit may increase. Furthermore, the reliability of the system may degrade due to the increased number of parts.
As another approach, a control method is known in which, instead of providing the detectors for directly detecting the position and speed of the machine's movable part as described above, an observer (or a state-variable estimating section) for estimating the state variable of the movable part is provided in a control circuit, and the position and speed indicated by the state variable estimated by the observer are fed back to control the movable part. As for such a state-feedback type control method, many proposals have been made in relation to a state variable to be estimated and to a feedback technique.
For example, Japanese Unexamined Patent Publication (Kokai) No. 7-20940 (JP-A-07-020940) discloses a control device, performing a semi-closed loop control, which is equipped with an observer for estimating twist angle and twist angular speed between a motor and a mechanical load. This control device corrects a toque command for the motor, by using the twist angle and the twist angular speed estimated by the observer, so as to suppress the vibration of the machine.
The state-feedback control method disclosed in JP-A-07-020940 is mainly intended to stabilize a controlled system, and does not actively cause the state variable to follow up a command or desired value. This will be explained with reference to FIG. 25. FIG. 25 shows, as a block diagram, a system for controlling the position and speed of a machine's movable part, such as a robot arm, as one example of a conventional control system using the state-feedback control method. In the illustrated example, a controlled system is the condition of the motor for driving the movable part.
In the illustrated control system, a speed command is obtained by performing a position loop control using a position control gain Kp, based on a deviation between a position command θR and a feedback signal of a motor position θM, and a torque command (or an electric-current command) is obtained using a speed control gain Kv, based on a deviation between the obtained speed command and a feedback signal of a motor speed ωM. Then, a correction value for an estimated state variable fed back by the observer is subtracted from the torque command as a control input for the controlled system (or the motor), to determine a corrected torque command, and this corrected torque command is input to the controlled system.
In this configuration, the observer outputs state variables x1 and x2 estimated from the corrected torque command input to the controlled system and the speed ωM of the motor as the controlled system. In this case, for example, the estimated state variable x1 is the estimated value of the position θL of the movable part (such as a robot arm), and the estimated state variable x2 is the estimated value of the speed ωL of the movable part. These state variables x1 and x2 are multiplied by state feedback gains K1 and K2, respectively, and the resultants thereof are fed back to correct the control input. As can be seen, the illustrated control method does not actively cause the state variables of the controlled system, estimated by the observer, to follow the desired values.
On the other hand, Japanese Unexamined Patent Publication (Kokai) No. 2001-136767 (JP-A-2001-136767) discloses a control device for a linear motor, in which the position and speed at the center of gravity of the movable part of the linear motor are estimated by an observer and the estimated position and speed are fed back to a position controller and a speed controller, respectively, so as to control the movable part.
Further, Japanese Unexamined Patent Publication (Kokai) No. 2002-287804 (JP-A-2002-287804) discloses a control method in which the state variable of a controlled system is estimated by an observer, a reference state variable is determined from a command or desired value by using a reference model, and a difference between the estimated state variable and the reference state variable is fed back to a controller, so as to control the controlled system.
The state-feedback control methods disclosed in these patent documents are configured to actively cause the state variables estimated by the observer to follow the desired values. However, depending on the configuration of the machine to which the method is applied, there may be a case where the controlled system is unstable and a sufficient feedback gain cannot be obtained. Further, the feedback gain needs to be determined in correspondence to the characteristics of the machine, but generally it is difficult to obtain an optimum value for the feedback gain.